/**
 * Stores要使用的相关类型定义
 */

import { MenuThemeEnum } from "@/constants/enums/menuEnum";
import { SystemThemeEnum } from "@/constants/enums/systemEnum";
import { LocationQueryRaw } from "vue-router";

// 菜单主题样式
export interface MenuThemeType {
  theme: MenuThemeEnum;
  background: string;
  systemNameColor: string;
  textColor: string;
  textActiveColor: string;
  iconColor: string;
  iconActiveColor: string;
  tabBarBackground: string;
  systemBackground: string;
  leftLineColor: string;
  rightLineColor: string;
  img?: string;
}

// 菜单Store状态
export interface MenuState {
  menuList: any[];
  isLoaded: boolean;
  collapsed: boolean;
}

// 系统主题样式（light | dark）
export interface SystemThemeType {
  className: string;
}

// 定义包含多个主题的类型
export type SystemThemeTypes = {
  [key in Exclude<SystemThemeEnum, SystemThemeEnum.AUTO>]: SystemThemeType;
};
